<?php
/**
* Classe de controle
* Cria a visualização da pesquisa de um objeto : Lançamento
* @package Sistema
* @subpackage Lançamento
*/
class CLancamento_verPesquisa extends controlePadraoPesquisa{
	/**
	 * Coleção de contas
	 * @var colecaoPadraoNegocio
	 */
	protected static $coContas;
	/**
	 * Monta a lista da página de listagem
	 * @param visualizacao $visualizacao
	 * @param colecao $colecao
	 * @param pagina $pagina
	 * @param <type> $entidade
	 */
	public static function  montarListagem(visualizacao $visualizacao, colecao $colecao, pagina $pagina, $entidade = null) {
		parent::montarListagem($visualizacao, $colecao, $pagina, $entidade);
		$visualizacao->listagem->adicionarColunaPersonalizada('Data', 'CLancamento_verPesquisa::data', null, 'centro',1);
		$visualizacao->listagem->adicionarColunaPersonalizada('Identificador', 'CLancamento_verPesquisa::identificador', null, 'direita',2);
		$visualizacao->listagem->adicionarColunaPersonalizada('Conta', 'CLancamento_verPesquisa::conta', null, 'esquerda',3);
		$visualizacao->listagem->adicionarColunaPersonalizada('Histórico', 'CLancamento_verPesquisa::historico', null, 'esquerda',4);
		$visualizacao->listagem->adicionarColunaPersonalizada('Saída', 'CLancamento_verPesquisa::credito', null, 'direita',6);
		$visualizacao->listagem->adicionarColunaPersonalizada('Entrada', 'CLancamento_verPesquisa::debito', null, 'direita',5);
		$visualizacao->listagem->adicionarColunaPersonalizada('Lote','CLancamento_verPesquisa::lancamentosPorLote',null,null,  10);
		$visualizacao->listagem->removerColuna(VListaPaginada::colunaEditar);
	//	$visualizacao->listagem->removerColuna(VListaPaginada::colunaExcluir);
	}
	public static function data(NLancamento $nLancamento){
		return "<a class='dado-lancamento datalan' href='?c=CLancamento_verPorConta&pagina=1&dataInicial={$nLancamento->pegarData()}&dataFinal={$nLancamento->pegarData()}'>{$nLancamento->pegarData()}</a>";
	}
	public static function identificador(NLancamento $nLancamento){
		return "<span class='dado-lancamento identificador' id='lan_{$nLancamento->valorChave()}'>{$nLancamento->valorChave()}</span>";
	}
	public static function conta(NLancamento $nLancamento){
		$nConta = CLancamento_verPesquisa::pegarContas()->pegar($nLancamento->pegarIdConta());
		return "<a class='dado-lancamento conta' title='{$nConta->pegarNumero()}' idConta='{$nConta->valorChave()}' href='?c=CLancamento_verPorConta&pagina=1&idConta={$nLancamento->pegarIdConta()}'>{$nConta->pegarNome()}</a>";
	}
	public static function historico(NLancamento $nLancamento){
		return "<span class='dado-lancamento historico'>{$nLancamento->pegarHistorico()}</span>";
	}
	public static function credito(NLancamento $nLancamento){
		$valor = $nLancamento->pegarTipo() == NLancamento::Credito ? $nLancamento->pegarValor() : '';
		return "<span class='dado-lancamento credito'>{$valor}</span>";
	}
	public static function debito(NLancamento $nLancamento){
		$valor = $nLancamento->pegarTipo() == NLancamento::Debito ? $nLancamento->pegarValor() : '';
		return "<span class='dado-lancamento debito'>{$valor}</span>";
	}
	public static function lancamentosPorLote(NLancamento $nLancamento){
		return '<a href="?c=CLancamento_verPorLote&pagina=1&tamanhoPagina=60&idLote='.$nLancamento->pegarIdLote().'&idLancamento='.$nLancamento->valorChave().'">Lote</a>';
	}
	public static function Editar(NLancamento $nLancamento){
		return '<a href="#"><img border="0" src=".sistema/icones/pencil.png" class="editar"></a>';
	}
	/**
	 * Coleção de contas
	 * @return colecaoPadraoNegocio
	 */
	public static function pegarContas(){
		if(!CLancamento_verPesquisa::$coContas){
			$nConta = new NConta();
			CLancamento_verPesquisa::$coContas = $nConta->lerTodos();
		}
		return CLancamento_verPesquisa::$coContas;
	}
}
?>